package main

import (
	"local/api"
	"local/model"
	"log"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/sqlite"
	"github.com/raintean/blink"
)

func InitDB() {
	db, err := gorm.Open("sqlite3", "./test.db")
	if err != nil {
		panic("连接数据库失败")
	}
	// defer db.Close()
	// 自动迁移模式
	db.AutoMigrate(&model.User{}, &model.Person{})

	model.DB = db
}

func main() {
	InitDB()
	exit := make(chan bool)

	//设置调试模式
	blink.SetDebugMode(true)

	//初始化blink模块
	err := blink.InitBlink()
	if err != nil {
		log.Fatal(err)
	}

	// 新建view,加载URL
	view := blink.NewWebView(false, 1366, 920)
	//直接加载虚拟文件系统中的网页  http://localhost:8080
	api.Register(view)
	view.LoadURL("http://localhost:8082")
	view.SetWindowTitle("Golang GUI Application")
	view.MoveToCenter()
	view.ShowWindow()
	view.ShowDevTools()
	// view.ShowOpenDialog()
	//当窗口被销毁的时候,变量=nil
	view.On("destroy", func(_ *blink.WebView) {
		exit <- true
	})
	view.On("documentReady", func(_ *blink.WebView) {
		log.Println("加载成功")
	})
	<-exit
}

// -d=true 以后台进程启动
// -ldflags="-H windowsgui" 打包后不出现黑窗口
//   -w -s 启用压缩

// go run -tags bdebug  ./main/dev.go
// go build -ldflags="-H windowsgui  -w -s" -o ./main.exe .\main\main.go
